package com.bestv.bsr.core.properties;

import lombok.Data;

/**
 * common sentinel properties
 *
 * @author taojiacheng
 */
@Data
public class SentinelProperties {

    /**
     * 0:慢比例调用 1:异常比例 2:异常数
     */
    private int grade;

    /**
     * 慢调用比例模式下为慢调用临界 RT（超出该值计为慢调用）；异常比例/异常数模式下为对应的阈值
     */
    private int count;

    /**
     * 熔断时长，单位为 s
     */
    private int timeWindow;

    /**
     * 熔断触发的最小请求数，请求数小于该值时即使异常比率超出阈值也不会熔断（1.7.0 引入）
     * 默认值5
     */
    private int minRequestAmount;

    /**
     * 统计时长（单位为 ms），如 60*1000 代表分钟级（1.8.0 引入）
     */
    private int statIntervalMs;

    /**
     * 慢调用比例阈值，仅慢调用比例模式有效
     */
    private double slowRatioThreshold;

}